class ReservaSpsController < ApplicationController
	layout 'archivos'
  # GET /reserva_sps
  # GET /reserva_sps.xml
  def index
  	@archivo = Archivo.find(params[:archivo_id])    
		unless @archivo.confidencial_generado?
  		@archivo.generar_confidencial
  		@archivo.save
  	end
    respond_to do |format|
      format.html # index.rhtml
      format.xml  { render :xml => @reserva_sps.to_xml }
      format.pdf  { 
      	@archivo = Archivo.find(params[:archivo_id])
  			send_data @archivo.to_pdf('confidencial'), :filename =>'confidencial.pdf', :type => 'application/pdf', :disposition => 'inline'
  		}
    end
  end

  # GET /reserva_sps/1
  # GET /reserva_sps/1.xml
  def show
    @reserva_sp = ReservaSp.find(params[:id])

    respond_to do |format|
      format.html # show.rhtml
      format.xml  { render :xml => @reserva_sp.to_xml }
    end
  end

  # GET /reserva_sps/new
  def new
  	archivo = Archivo.find(params[:archivo_id])
    @reserva_sp = ReservaSp.new(
    	:archivo_id => params[:archivo_id], 
    	:nro_pasajeros => archivo.nro_personas,
    	:fecha => archivo.fecha_arribo)
  end

  # GET /reserva_sps/1;edit
  def edit
  	archivo = Archivo.find(params[:archivo_id])
    @reserva_sp = ReservaSp.find(params[:id])
    #@reserva_sp.nro_pasajeros = archivo.nro_personas
  end

  # POST /reserva_sps
  # POST /reserva_sps.xml
  def create
    @reserva_sp = ReservaSp.new(params[:reserva_sp])
    @reserva_sp.archivo_id = params[:archivo_id]
		@reserva_sp.generar
		if @reserva_sp.archivo_servicio_id == nil
		 	@reserva_sp.archivo.adicionales_costo += @reserva_sp.costo
		 	@reserva_sp.archivo.adicionales_utilidad += @reserva_sp.utilidad
		 	@reserva_sp.archivo.adicionales_precio += @reserva_sp.precio
		end
		
    respond_to do |format|
      if @reserva_sp.save and @reserva_sp.archivo.save
        flash[:notice] = 'ReservaSp was successfully created.'
        format.html { redirect_to reserva_sps_url(params[:archivo_id]) }
        format.xml  { head :created, :location => reserva_sp_url(@reserva_sp) }
      else
        format.html { render :action => "new" }
        format.xml  { render :xml => @reserva_sp.errors.to_xml }
      end
    end
  end

  # PUT /reserva_sps/1
  # PUT /reserva_sps/1.xml
  def update
    @reserva_sp = ReservaSp.find(params[:id])
    #@reserva_sp.fecha = params[:reserva_sp][:fecha]
    #@reserva_sp.servicio_id = params[:reserva_sp][:servicio_id]
    #@reserva_sp.nro_pasajeros = params[:reserva_sp][:nro_pasajeros]
    #@reserva_sp.archivo_servicio_id = params[:reserva_sp][:archivo_servicio_id]
		#@reserva_sp.generar	
		
    respond_to do |format|
      if @reserva_sp.update_attributes(params[:reserva_sp])
        flash[:notice] = 'ReservaSp was successfully updated.'
        format.html { redirect_to reserva_sps_url(params[:archivo_id]) }
        format.xml  { head :ok }
      else
        format.html { render :action => "edit" }
        format.xml  { render :xml => @reserva_sp.errors.to_xml }
      end
    end
  end

  # DELETE /reserva_sps/1
  # DELETE /reserva_sps/1.xml
  def destroy
    @reserva_sp = ReservaSp.find(params[:id])
    @reserva_sp.destroy

    respond_to do |format|
      format.html { redirect_to reserva_sps_url }
      format.xml  { head :ok }
    end
  end
  
  def buscar_servicios_proveedor  	
  	@servicios_proveedor = Servicio.search(params[:key], params[:lugar_id])  	
  	render :partial => "servicios_proveedor"
  end
end
